package com.github.zxhTom.demo.jol;

import org.openjdk.jol.info.ClassLayout;

import static java.lang.System.out;

/**
 * @author 张新华
 * @version V1.0
 * @Package com.github.zxhTom.demo.jol
 * @date 2021/12/7 14:31
 */

class A {
    //占一个字节的boolean字段
    private boolean flag;
}
public class IntTest {
    public static void main(String[] args) {
        A a = new A();
        //没有计算HashCode之前的对象头
        out.println("before hash");
        out.println(ClassLayout.parseInstance(a).toPrintable());

        //jvm计算HashCode
        out.println("jvm----------" + Integer.toHexString(a.hashCode()));

        //当计算完HashCode之后，我们可以查看对象头的信息变化
        out.println("after hash");
        out.println(ClassLayout.parseInstance(a).toPrintable());
    }
}
